/*
 * 文件名： ResponseTag.java
 *
 * 创建日期： 2016年11月23日
 *
 * Copyright(C) 2016, by <a href="mailto:liws@xingyuanauto.com">liws</a>.
 *
 * 原始作者: liws
 *
 */
package com.moli.iov.protocol.enums;


/**
 * 车联网通信协议 应答标志
 *
 * @author <a href="mailto:liws@xingyuanauto.com">liws</a>
 * @version $Revision$
 * @since 2016年11月23日
 */
public enum ResponseTag implements IDictsEnumTag {
    /**
     * 成功
     */
    SUCCESS("成功", (byte) 0x01),
    /**
     * 错误
     */
    ERROR("错误", (byte) 0x02),
    /**
     * VIN重复
     */
    VIN_REPEAT("VIN重复", (byte) 0x03),
    /**
     * 命令
     */
    IS_COMMAND("命令", (byte) 0xFE),
    /**
     *  注册报文，命令标识是0xDC
     */
    REGISTER_RES("命令", (byte) 0xDC);

    private ResponseTag(String key, byte value) {
        this.k = key;
        this.v = value;
    }

    private String k;

    private byte v;

    public ResponseTag valueOf(byte value) {
        switch (value) {
            case 0x01:
                return SUCCESS;
            case 0x02:
                return ERROR;
            case 0x03:
                return VIN_REPEAT;
            case (byte) 0xFE:
                return IS_COMMAND;
            default:
                return null;
        }
    }

    public static String getKey(byte value) {
        for (ResponseTag c : ResponseTag.values()) {
            if (c.getV() == value) {
                return c.k;
            }
        }
        return null;
    }

    @Override
    public String getK() {
        return k;
    }

    @Override
    public byte getV() {
        return v;
    }
}
